From 6c549fecd3006b435be9d25eae1f8cabbc66efa5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 2 Aug 2010 16:11:40 +0200 Subject: [PATCH] GtkWidget: Construct style for partial widget hierarchies. Some unparented widgets like to ask style details, so now the style is constructed regardless of the parent being present or not, and then reconstructed if the parent changes. --- gtk/gtkwidget.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 24cb380923..8cca7a07dd 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -13195,7 +13195,6 @@ gtk_widget_get_path (GtkWidget *widget) GList *regions, *reg; g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - g_return_val_if_fail ((widget->parent || gtk_widget_is_toplevel (widget)), NULL); parent = widget->priv->parent; @@ -13254,6 +13253,7 @@ gtk_widget_get_style_context (GtkWidget *widget) if (G_UNLIKELY (!context)) { static GtkCssProvider *css_provider = NULL; + GtkWidgetPath *path; context = g_object_new (GTK_TYPE_STYLE_CONTEXT, NULL); g_object_set_qdata_full (G_OBJECT (widget), @@ -13284,18 +13284,13 @@ gtk_widget_get_style_context (GtkWidget *widget) GTK_STYLE_PROVIDER (css_provider), GTK_STYLE_PROVIDER_PRIORITY_USER); - if (widget->parent || - gtk_widget_is_toplevel (widget)) - { - GtkWidgetPath *path; - path = gtk_widget_get_path (widget); - gtk_style_context_set_path (context, path); - gtk_widget_path_free (path); + path = gtk_widget_get_path (widget); + gtk_style_context_set_path (context, path); + gtk_widget_path_free (path); - gtk_style_context_set_screen (context, - gtk_widget_get_screen (widget)); - } + gtk_style_context_set_screen (context, + gtk_widget_get_screen (widget)); } return context; -- 2.30.2